Sliding correlator and sliding correlating method

ABSTRACT

A sliding correlator in a spread spectrum receiving apparatus includes arithmetic device for calculating a correlation value between a data sequence and a correlation coefficient sequence, and decision device for deciding whether a succession of the same coefficients exists in the correlation coefficient sequence. The arithmetic device carries out a calculation in accordance with the result of decision made by the decision device.  
     Further, a sliding correlation method in a receiver in a spread spectrum communication system decides whether a succession of the same coefficients exists in a correlation coefficient sequence, and calculates a correlation value between a data sequence and a correlation coefficient sequence in accordance with the result of the decision.  
     The sliding correlator and the sliding correlation method permit obtaining correlation values similar to those obtained by the use of any conventional sliding correlator and is capable of reducing integrating power consumption by decreasing the number of calculations.

TECHNICAL FIELD

[0001] The present invention relates to a sliding correlator and a sliding correlation method in a receiver in a spread spectrum communication system.

BACKGROUND ART

[0002] A spread spectrum communication system has been utilized in recent years for land mobile communication. This is a system in which data signals to be sent from a transmitting side are multiplied by spreading codes so that the data signal is spreading out a wide frequency band before being transmitted by converting the band that the signal has to a wider band. On the other hand, a receiving side uses the same code as that on the transmitting side to restore the original band of the signal for demodulating purpose. A pseudo noise (PN) sequence is used as the spread code at this time. In other words, the receiving side uses the same PN sequence as what has been employed for transmission to take a correlation of the data signal with the PN sequence so as to detect a correlation peak for synchronous acquisition and holding and to carry out demodulation by means of the correlation detection.

[0003] Thus, a sliding correlator is often used for the synchronous acquisition of the receiver in the spread spectrum communication system. The sliding correlator is a circuit for evaluating which part of a data sequence has a greater correlation by multiplying an input data sequence having a fixed length by a correlation coefficient (a spreading code).

[0004]FIG. 8 shows a schematic configuration of a conventional sliding correlator. A sliding correlator 90 shown in FIG. 8 comprises a delay circuit 92, correlation integrators 94 and a comparator 96.

[0005] A fixed data sequence a1, a2, . . . , aN is fed into the sliding correlator 90. A coefficient sequence correlating to the data sequence is assumed to be b1, b2, . . . , bM. The correlation coefficient sequence is determined by what data correlates to the data sequence and generally the data sequence is longer than the correlation coefficient sequence, that is, N>M.

[0006] The data sequence a1, . . . , aN is fed into the delay circuit 92 in sequence. N−M+1 of the multiplexed correlation integrators 94 are connected to the delay circuit 92 and a correlation coefficient sequence b1, . . . , bM is fed into each of the correlation integrators 94.

[0007] The initial M of data a1, . . . , aM out of the data sequence a1, . . . , aN output from the delay circuit 92 are fed into the first correlation integrator 94 and are multiplied by the correlation coefficients b1, . . . , bM to calculate a correlation value P1 as indicated by the following equation (1):

P1=b1×a1+b2×a2+ . . . +bM×aM  (1)

[0008] The next M of data a2, . . . , aM+1 out of the data sequence a1, . . . , aN output from the delay circuit 92 are fed into the second correlation integrator 94 and are multiplied by the correlation coefficients b1, . . . bM to calculate a correlation value P2 as indicated by the following equation (2):

P2=b1×a2+b2×a3+ . . . +bM×aM+1  (2)

[0009] Similarly, the last M of data aN−M+1, . . . , aN out of the data sequence a1, . . . , aN are fed into the N−M+1th correlation integrator 94 and are multiplied by the correlation coefficients b1, . . . bM to calculate a correlation value PN−M+1 as indicated by the following equation (3):

PN−M+1=b1×aN−M+1+b2×aN−M+2+ . . . +bM×aN  (3)

[0010] N−M+1 of the correlation values P1, P2, . . . , PN−M+1 output from the respective correlation integrators 94 are fed into the comparator 96, so that the greatest absolute value, that is, a peak value R of the correlation value is detected as max {Pk} or min {Pk} (where k=1, . . . , N−M+1) when its sign is taken into consideration.

[0011] As shown in FIG. 9, for example, the above-described correlation integrator 94 comprises a multiplier 94 a, an adder 94 b and a storage element 94 c and is used to calculate a correlation value Pk by carrying out calculations of the equations (1)-(3).

[0012] More specifically, data ai fed from the delay circuit 92 is multiplied by a correlation coefficient bj in the multiplier 94 a to calculate the product bj×ai. On the other hand, the value already calculated is stored in the storage element 94 c. The calculated result stored in the storage element 94 c is fed back and added to the product bj×ai in the adder 94 b and this result is newly stored in the storage element 94 c. This process is repeated M times (j=1, . . . , M) and then the correlation value Pk is calculated before being output.

[0013] However, because the correlation integrators are multiplexed in the conventional sliding correlator above, the problem is that the circuit area becomes larger with greater power consumption to that extent.

[0014] On the other hand, it is conceivable to provide one correlation integrator whereby to make the same calculation as what has been described above with respect to the same data sequence while changing the correlation coefficient. Then a comparison is made therebetween each time one result of addition is produced and the circuit area can be reduced according to this method. However, the power consumption used to make additions until the final result is produced still remains unchanged from the above-described case of multiplexing the correlation integrators. Thus, there is also developed a problem arising from high power consumption.

DISCLOSURE OF THE INVENTION

[0015] An object of the present invention made in view of the foregoing conventionally-raised problems is to provide a sliding correlator and a sliding correlation method that permit obtaining correlation values similar to those obtained by the use of any conventional sliding correlator and is capable of reducing power consumption by decreasing the number of calculations.

[0016] The present invention provides a sliding correlator in a spread spectrum receiving apparatus, comprising an arithmetic device for calculating a correlation value of data sequence with correlation coefficient sequence, and a decision device for deciding whether a succession of the same consecutive coefficients exists in the correlation coefficient sequence. The arithmetic device is characterized by carrying out calculations in accordance with the result of the decision made by the decision device. In this case, the arithmetic device preferably carries out the calculation by utilizing the previous result of calculation. In case where the decision device decides that a succession of the same consecutive coefficients exists in the correlation coefficient sequence, the arithmetic device is arranged so as not to make any calculation with respect to the part where the same consecutive coefficients exist in the correlation coefficient sequence.

[0017] Moreover, the arithmetic device preferably carries out calculations by fixing the data sequence and looping of the correlation coefficient sequence. The decision device preferably includes an exclusive OR that inputs each of the consecutive coefficients and decides whether the adjoining coefficients are the same.

[0018] The present invention also provides a sliding correlation method in a receiver in a spread spectrum communication system, which method is characterized by deciding whether a succession of the same coefficients exists in a correlation coefficient sequence and calculating a correlation value of data sequence with correlation coefficient sequence in accordance with the result of the decision made.

BRIEF DESCRIPTION OF THE DRAWINGS

[0019]FIG. 1 is a flowchart showing a processing flow in a sliding correlation method according to the present invention.

[0020]FIG. 2 is a block diagram showing the basic principle of the sliding correlation method according to the invention.

[0021]FIG. 3 is a schematic block diagram of a sliding correlator in a first embodiment of the invention.

[0022]FIG. 4 is a flowchart showing a processing flow in a sliding correlation method in a second embodiment of the invention.

[0023]FIG. 5 is a schematic block diagram of a sliding correlator in a second embodiment of the invention.

[0024]FIG. 6 is a diagram descriptive of another calculation method.

[0025]FIG. 7 is a diagram descriptive of still another calculation method.

[0026]FIG. 8 is a schematic block diagram of a conventional sliding correlator.

[0027]FIG. 9 is a schematic block diagram of the correlation integrator of FIG. 8.

BEST MODE FOR CARRYING OUT THE INVENTION

[0028] A sliding correlator and a sliding correlation method according to the present invention will now be described in detail with reference to the accompanying drawings.

[0029] The present invention is intended to obtain correlation values similar to those obtained by the use of any conventional sliding correlator and to reduce the power consumption of a sliding correlator by decreasing the number of calculations as much as possible.

[0030] By using a specific example of calculation, the basic principle of a sliding correlation method according to the invention will be described. As a premise, a correlation coefficient is composed of only +1 and −1. Therefore, a calculation of the product and sum of a data sequence and a correlation coefficient sequence only results actually from simply adding data, subtracting one from another and the repetition of this step.

[0031] As a specific example, the length of a correlation coefficient sequence is assumed 10 with respect to the data sequence a1, a2, . . . , aN whereby to set the correlation coefficient sequence as (b1, b2, . . . , b10)=(0, 1, 1, 1, 0, 1, 0, 1, 0, 0). Incidentally, the length N of the data sequence is greater than the length of the correlation coefficient sequence and N>10. Though the correlation coefficient sequence comprises each one bit of φ and 1 as a code (a spreading code), the code 0 represents +1 and the code 1 represents −1 from the view point of numerical value calculation.

[0032] Consequently, the initial correlation value P1 is calculated as indicated by the following equation (4):

P1=b1×a1+b2×a2+ . . . +b10×a10=a1−a2−a3−a4+a5−a6+a7−a8+a9+a10  (4)

[0033] On the contrary, the next correlation value P2 is calculated by one-data offsetting and multiplying the correlation coefficient as indicated by the following equation (5):

P2=b1×a2+b2×a3+ . . . +b10×a11=a2−a3−a4−a5+a6−a7+a8−a9+a10+a11  (5)

[0034] In comparison of the calculated result of P2 with that of P1, P2 can be expressed by the following equation (6):

P2=P1−a1+2×(a2−a5+a6−a7+a8−a9)+a11  (6)

[0035] In this case, the number of calculations in the calculating equation (4) of P1 shown above is 10 times. In the calculating equation (6) of P2, on the other hand, the number of calculations does not increase but remains to be 8 times because the part in front of the parenthesis, 2×, is equivalent to one-bit shift in digital calculation. Therefore, the number of calculations can be decreased by twice in comparison with the equation of (4) by following the equation of (6) for calculating purpose.

[0036] A decrease of twice in the number of calculations is due to the fact that in the correlation coefficient sequence, there exist in at least two places of (1, 1, 1) and (0, 0) where the same coefficients occur in succession.

[0037] According to the basic principle of the invention above-mentioned, in order to decide whether the same coefficients continuously exist in the correlation coefficient sequence, a signal indicative of whether the adjoining coefficients are the same is generated to decide whether it is needed to carry out an addition, a subtraction or no calculation by the use of the signal. Thus, the power consumption of the sliding correlator can be reduced by decreasing the number of calculations.

[0038] First, a sliding correlation method as a first embodiment of the invention will be described with reference to a flowchart of FIG. 1.

[0039] Data ai (I=1, 2, . . . , N) is fed in at Step 100 and a correlation coefficient bj (j=1, 2, . . . , M) is fed in at Step 110. At Step 120, a decision is made on whether an initial correlation value has been calculated. In case of a calculation of the initial correlation value, the data is multiplied by the correlation coefficient at Step 130 and the method proceeds to Step 170 at which a decision is made whether the calculation of all the coefficients bj has been terminated. In case where the calculation has not been terminated, the method returns to Step 100 and the next data and the next coefficient are input and multiplied to add to a previous value. When the initial correlation value is thus calculated, the calculated result is stored and the next correlation value is calculated.

[0040] In case of a decision that the calculation is not the initial correlation value at Step 120, the equation (6) is basically used to calculate the correlation value. In other words, a decision is made on whether a succession of the same coefficients exists in the correlation coefficient sequence at Step 140. In case where the succession of the same coefficients exists, no calculations are made at Step 150 and the preceding result of calculation is utilized (e.g., a3, a4, a10 and so forth in the equation (6)).

[0041] Further, in case where the succession of the same coefficients does not exist at Step 140, the data is multiplied by the correlation coefficient like the calculation of the initial correlation value at Step 160 (e.g., the calculation of terms other than the above-described terms in the equation (6)).

[0042] When a decision is made on the completion of the calculation of all of the data and correlation coefficients at Step 170, the correlation value is calculated at Step 180. Then the correlation value thus calculated indicates a correlation peak when the correlation is detected and synchronous acquisition is carried out.

[0043]FIG. 2 shows one of the principal parts of a sliding correlator used to make the calculation of correlation values in the sliding correlation method according to the invention as described above.

[0044] In FIG. 2, a sliding correlator 1 includes a delay element 2, and an XOR (exclusive-OR) circuit 3, an arithmetic circuit 4 and a storage element 5. The data sequence ai (i=1, . . . , N) is fed into the arithmetic circuit 4. On the other hand, the correlation coefficient bj (j=1, . . . , M, however, N>M) via the delay element 2 and the next correlation coefficient bj+1 is fed into the XOR circuit 3 and the XOR circuit outputs a signal DIF indicative of whether a succession of the same coefficients exists. Initially, P′=a1×b1+ . . . +aM×bM is calculated and then the calculated result is stored in the storage element 5 before being fed back into the arithmetic circuit 4.

[0045] As is well known, the XOR circuit 3 outputs 1 when the coefficient bj is different from bj+1 and outputs 0 when both are the same. In other words, in case where the succession of the same coefficients exists, DIF=0 and when the adjoining coefficients are different from each other, DIF=1 is established.

[0046] When DIF=0, the arithmetic circuit 4 carries out no calculations, and when DIF=1 and the actual value of the coefficient bj=1 (i.e, bj=0 as a code), the arithmetic circuit 4 carries out a calculation using the following equation (7):

ai′=P′+2×ai  (7)

[0047] Further, when the actual value of the coefficient bj=−1 (i.e, bj=1 as a code), the arithmetic circuit 4 carries out a calculation using the following equation (8):

ai′=P′−2×ai  (8)

[0048] The data ai′ after the calculation is stored in the storage element 5, fed back into the arithmetic circuit 4 and utilized for the next calculation, so that the correlation value P′ is ultimately output.

[0049]FIG. 3 is a schematic block diagram of a specific sliding correlator in a first embodiment of the invention.

[0050]FIG. 3 shows the principal part of the sliding correlator as a correlation-value calculating part in the first embodiment of the invention. As shown in FIG. 3, the sliding correlator 10 according to this embodiment of the invention includes flip-flops 12, 20 and 28, an adder 14, a subtracter 16, a multiplexer 18, an XOR circuit 22, an AND circuit 26 and a shifter 24.

[0051] The newly-fed data ai is fed from the flip-flop 12 into the adder 14 and the subtracter 16 and calculated with the calculated data that has already been fed back. In this case, the use of either adder 14 or subtracter 16 is determined by the multiplexer 18 with the correlation coefficient bj fed from the flip-flop 20 as a selective control signal. The output of the multiplexer 18 is shifted by the shifter 24; the output thereof is not shifted when j=1 or M (M is the length of the correlation coefficient sequence) but shifted in only any other case.

[0052] The correlation coefficient bj delayed via the flip-flop 20 and the next correlation coefficient bj+1 are fed into the XOR circuit 22 and the signal DIF indicative of whether a succession of the same coefficients exists is generated. This signal DIF and a clock signal CLK are fed into the AND circuit 26 and the operation of the flip-flop 28 is controlled by the output of the AND circuit 26.

[0053] Thus, the calculation shown in the equation (6) is carried out and the number of calculations is decreased whereby to achieve a reduction in the power consumption of the sliding correlator.

[0054] A second embodiment of the invention will now be described.

[0055] First, a sliding correlation method according to the second embodiment of the invention will be described with reference to a flowchart of FIG. 4. This method refers to a case where the length N of the data sequence a1, . . . , aN is equal to the length M of the correlation coefficient sequence b1, . . . , bM (N=M) wherein correlation coefficients are looped in turn and added up to the data. With N=9, for example, a description will be given.

[0056] At Step 200, a correlation coefficient sequence is fed in first. The correlation coefficient sequence (as a code) is set to (1, 0, 1, 1, 0, 1, 1, 0, 1). In other words, it is assumed that the actual value of the correlation coefficient includes −1, 1, −1, −1, 1, −1, −1, 1, −1. A data sequence is then fed in at Step 210. The data sequence is assumed to be a1, . . . , a9. At Step 220, a decision is made on whether the calculation of the initial correlation value is applied. In case where the initial correlation value is calculated, the initial correlation value P1 is calculated according to the following equation (9) by multiplying the data directly by the correlation coefficient at Step 230.

P1=−a1+a2−a3−a4+a5−a6−a7+a8−a9  (9)

[0057] Based on the decision made at Step 280, a decision is made on whether the calculation of the whole data (the whole correlation coefficient) has been terminated after the looping of the correlation coefficients is completely terminated. In case where the calculation of whole data is not terminated, the method returns to Step 240 and the correlation coefficient sequence bj is shifted by one to the right. Consequently, the extreme right-side coefficient −1 moves to the extreme left, so that the actual values of the correlation coefficients are arranged in the order of −1, −1, 1, −1, −1, 1, −1, −1, 1.

[0058] At Step 250, further, a decision is made on whether a succession of the same coefficients exists. In case where the succession of the same coefficients exists, the preceding result of calculation of the correlation value is utilized for the calculation of a correlation value at step 260.

[0059] More specifically, if the calculation is carried out conventionally, a data sequence a1, . . . , a9 is multiplied by the shifted coefficient, whereby P2 is obtained by the following equation (10):

P2=−a1−a2+a3−a4−a5+a6−a7−a8+a9  (10)

[0060] In conclusion, the following equation (11) is explicitly established by comparing the equations (9) and (10).

P2=P1+2×(−a2+a3−a5+a6−a8+a9)  (11)

[0061] P1 as the preceding result of calculation is used to calculate the second correlation value P2 by the use of the equation (11) in this embodiment of the invention.

[0062] In this case, though the number of calculations is 9 times when P2 is calculated conventionally as in the equation (10), the number of calculations comes up to 6 times when P2 is calculated by utilizing the preceding result of calculation as in the equation (11), whereby the number of calculations can be decreased by 3 times.

[0063] This is because there are three places where the same correlation coefficients continuously exist including 1, 1 in the mid-portion and those other than 1, 1 as both ends are linked.

[0064] In case where the same coefficients do not exist, moreover, the calculation of simply multiplying the data by the correlation coefficient is carried out at Step 270.

[0065] Subsequently at Step 280, a decision is made on whether the shifting (looping) of the correlation coefficient sequence is back where it has been started and whether the shifting thereof has been terminated. In case where the shifting of the correlation coefficient sequence is decided to be unterminated yet, the method returns to Step 240 and shifts the correlation coefficient sequence whereby to make the calculation of the next correlation value. When the shifting is completely terminated and when the calculation is terminated, the correlation value is calculated at step 290. When the correlation value thus calculated proves a correlation, a correlation peak is indicated and synchronous acquisition is realized by detecting the correlation peak.

[0066]FIG. 5 shows an example of a circuit comprising a sliding correlator for implementing the sliding correlation method according to the second embodiment of the invention.

[0067] A sliding correlator 30 of FIG. 5 according to this embodiment of the invention mainly includes an adder 32, a subtracter 34, a multiplexer 36, a circuit 38 for holding correlation sequence, a circuit 40 for holding one preceding correlation coefficient, an XOR circuit 42, an AND circuit 44 and a flip-flop 46.

[0068] Data ai is fed into the adder 32 and the subtracter 34 and selectively used in the multiplexer 36 as in the first embodiment of the invention. This is determined by a signal DIF, generated in the XOR circuit 42, for showing whether the correlation coefficient sequence 38 and next correlation coefficient sequence 40 contain a succession of the same coefficients. In this case, this sliding correlator is different from one in the first embodiment of the invention in that the correlation coefficient is looped. The signal DIF and a clock signal CLK is fed into the AND circuit 44 and the output of the AND circuit 44 is fed into the flip-flop 46, whereby to decide whether the output thereof is fed back.

[0069] However, there are various cases other than what has been described above as long as the way to prove a correlation with respect to data is concerned.

[0070] As shown in FIG. 6, for example, there are cases where a correlation coefficient sequence c1, . . . , cn recurs while the data sequence a1, . . . , an is fixed, where correlation coefficient sequences {cj}, {dj}, . . . , {zj} always vary while the data sequence a1, . . . , an is fixed and so forth.

[0071] On condition that there is a part in which a succession of the same coefficients exists in the correlation coefficient sequence, the invention is effectively applicable to any one of the above-described cases.

[0072] As set forth above in detail, it has been arranged to decrease the number of calculations according to this embodiment of the invention by paying attention to the fact that the continuous correlation coefficient sequence exists. Although the initial calculation and the last calculation of the correlation coefficient sequence have to be carried out at all times, the coefficient sequence is generally long enough to bring out some effect. The method according to this embodiment of the invention ensures that the number of calculations can be decreased except for a case where a completely alternate correlation coefficient sequence exists like 1, 0, 1, 0, . . . or 0, 1, 0, 1, . . . , whereby the power consumption of the sliding correlator can be reduced.

[0073] Although a detailed description has been given of the sliding correlator and the sliding correlation method according to the invention, the invention is not limited to the above-described embodiments but may be modified and changed in various manners without departing from the spirit and scope thereof.

POSSIBILITY OF INDUSTRIAL UTILIZATION

[0074] As set forth above, as it has been arranged to decrease the number of calculations according to the invention by paying attention to the fact that the continuous correlation coefficient sequence exists to ensure that the number of calculations is decreased, the integrating power consumption of the sliding correlator can be reduced. 

What is claimed is:
 1. A sliding correlator in a spread spectrum receiving apparatus, comprising: arithmetic device for calculating a correlation value between a data sequence and a correlation coefficient sequence, and decision device for deciding whether a succession of the same coefficients exists in the correlation coefficient sequence, wherein the arithmetic device carries out a calculation in accordance with the result of decision made by the decision device.
 2. A sliding correlator according to claim 1, wherein the arithmetic device carries out a calculation by utilizing the result of the preceding calculation.
 3. A sliding correlator according to either claim 1 or claim 2, wherein in case where the succession of the same coefficients is decided to exist in the correlation coefficient sequence by the decision device, the arithmetic device does not carry out the calculation of the part in which the succession of the same coefficients exists in the correlation coefficient sequence whereby to decrease the number of calculations.
 4. A slicing correlator according to one of claims 1 to 3, wherein the arithmetic device makes the data sequence a fixed data sequence and loops the correlation coefficient sequence whereby to carry out a calculation.
 5. A sliding correlator according to one of claims 1 to 4, wherein the decision device includes an exclusive OR that inputs each of the continuous coefficients and decides whether the adjoining coefficients are the same.
 6. A sliding correlation method in a receiver in a spread spectrum communication system, comprising the steps of: deciding whether a succession of the same coefficients exists in a correlation coefficient sequence, and calculating a correlation value between a data sequence and a correlation coefficient sequence in accordance with the result of the decision.
 7. A sliding correlation method according to claim 6, wherein the calculation of the correlation value is carried out by utilizing the result of the preceding calculation.
 8. A sliding correlation method according to either claim 6 or claim 7, in case where the succession of the same coefficients is decided to exist in the correlation coefficient sequence in the calculation of the correlation value, the calculation of the part in which the succession of the same coefficients exists in the correlation coefficient sequence is not carried out whereby to decrease the number of calculations.
 9. A sliding correlation method according to one of claims 6 to 8 includes making the data sequence a fixed data sequence and looping the correlation coefficient sequence whereby to calculate the correlation value. 